package cn.tedu.scheduled;
import java.util.Timer;
import java.util.TimerTask;

public class TimerDemo01 {
    public static void main(String[] args) throws InterruptedException {
        //1.创建Timer对象
        Timer timer = new Timer();
        //2.创建任务对象
        TimerTask task1 = new TimerTask() {
            @Override
            public void run() {
                String threadName = Thread.currentThread().getName();
                System.out.println(threadName+"->task1:"+System.currentTimeMillis());
            }
        };
        TimerTask task2 = new TimerTask() {
            @Override
            public void run() {
                String threadName = Thread.currentThread().getName();
                System.out.println(threadName+"->task2:"+System.currentTimeMillis());
            }
        };
        //3.使用Timer对象调用schedule方法,指定任务对象和执行时间间隔
        //3.1 一秒以后开始执行，每隔1秒执行1次
        timer.schedule(task1,1000,1000);
        //3.2 一秒以后开始执行，每隔3秒执行1次
        timer.schedule(task2,1000,3000);
        Thread.sleep(1000*60);
        timer.cancel();
    }
    //问题1:任务运行在哪个线程?（文豪-Timer对象内部创建一个工作线程）
    //问题2:多个任务是串行执行还是并行执行？(子轩说错了，应该是串行)
    //问题3:如何将任务的构建使用lambda进行优化？(晨旭说，不可以)
    //问题4:如何1分钟之后取消任务的执行。(调用timer对象的cancel方法)

}
